package cn.pupil.springframework.context;

import cn.pupil.springframework.beans.BeansException;

/**
 * @Description: 配置应用上下文接口
 * 提供了 refresh 这个核心方法，在上下文的实现中完成刷新容器的操作过程。
 * @Author: pupil
 * @Date: 2024/11/6 上午 10:40
 */
public interface ConfigurableApplicationContext extends ApplicationContext{

    /**
     * 刷新容器
     *
     * @throws BeansException
     */
    void refresh() throws BeansException;

    /**
     * 注册虚拟机钩子
     */
    void registerShutdownHook();

    /**
     * 关闭方法
     */
    void close();
}
